Multiple-input multiple output (MIMO) communication systems have been shown to provide improvements in capacity and reliability over single-input single-output (SISO) communication systems. MIMO communication systems commonly employ a block structure wherein a MIMO transmitter, actually a collection of single-dimension transmitters, sends a vector of symbol information. This symbol vector may represent one or more coded or uncoded SISO data symbols. The transmitted signal propagates through the channel and is received and processed by a MIMO receiver. The MIMO receiver can obtain multiple receive signals corresponding to each transmitted symbol. The performance of the entire communication system hinges on the ability of the receiver to find reliable estimates of the symbol vector that was transmitted.
For such MIMO communication systems, a receive signal may be written in the form:
                              y          k                =                                            ∑              n                        ⁢                                          H                n                            ⁢                              s                                  k                  -                  n                                                              +          v                                    (        1        )            where Hn is an Mr by Mt matrix of common gains, Sk is the Mt-dimensional symbol vector transmitted at time k and ν is a Mr-dimensional vector of additive noise. In narrowband wireless systems, where the symbol period is much larger than the RMS delay spread or in orthogonal frequency division multiplexing (OFDM) systems (for each frequency bin) where the inter-symbol interference is negligible due to the insertion of a cyclic prefix or a guard interval, the channel from each transmit antenna to each receive antenna is often modeled as a single-tap complex gain. In this case, equation (1) simplifies toyk=Hsk+v,  (2)where H is now an Mr by Mt matrix of complex numbers and HSk is the matrix product of H and S. The receiver must estimate Sk in order to facilitate reliable communication. If ν were not present and H were invertible, an estimate of Sk may be achieved by inverting H. However the presence of noise increases the difficulty of estimating Sk.
An optimal solution in the sense of minimizing the probability of symbol error has been shown to be the maximum likelihood (ML) decoder. The ML decoder attempts to find the symbol vector sk sent at burst k, by using the symbol vector {tilde over (s)}k that maximizes p({tilde over (s)}k|y1 . . . Yk), where p(·|y1 . . . yk) is the conditional probability density function of sk given y1 . . . yk. However, in real-time communications systems the ML decoder is overly computationally complex. The ML decoder requires O(NsMt)=O(2NMt) computations of the conditional probability density function to decode to the optimal symbol vector, where N is the number of bits per symbol, Ns is the constellation size and Mt is the number of transmit channels. O “means on the order of.” For a better understanding of ML decoders, see U.S. Pat. No. 4,823,346 to Kobayashi, et al., entitled “Maximum Likelihood Decoder,” which is incorporated herein by reference.
As an alternative, suboptimal decoder techniques are typically less computationally complex to employ. However, they differ in diversity order (i.e., the asymptotic slope of the average probability of bit error curve) from ML decoding. Since they essentially trade reduced complexity for reduced performance, they increase their probability of symbol error compared to the ML decoder. For a better understanding of suboptimal decoders and their operation, see Madkour, et al., “Successive Interference Cancellation Algorithms for Downlink W-CDMA Communications”, IEEE Transactions on Wireless Communications, Volume 1, Number 1, January, 2002, which is incorporated herein by reference.
Accordingly, what is needed in the art is a way to decode symbols that is less computationally burdensome than ML decoding, but more closely approximates ML decoding than conventional suboptimal techniques.